home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 236 / 236.d81 / b.eagle eyes (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  6KB  |  175 lines

  1. 5 dv=peek(186):ifdv<8thendv=8
  2. 10 poke53281,0:poke53280,0:print"[147]"chr$(142):gosub60000
  3. 12 sys57812"i-score 9000",dv,0:poke780,0:poke781,0:poke782,144:sys65493
  4. 13 ff$="eagle top ten"
  5. 14 sys36867,ff$
  6. 16 goto790
  7. 20 rem print shapes
  8. 30 print"":poke v+21,4:fora=.to4:forb=.to1:printtab(1);:forz=.to6
  9. 40 poke 646,fnc(14)+2:printspc(3)chr$(fnc(rg)+ll);:poke646,fnc(14)+2
  10. 50 printchr$(fnc(rg)+ll);:next:print:next:print:print:next:return
  11. 60 rem buzzer subroutine
  12. 70 forz=1to12:pokes+24,.:foru=1to3:next:pokes+24,15:next:return
  13. 80 pokes+24,15:pokes+5,8:pokes+6,240:pokes+1,75:pokes+4,33:forz=1to99:next
  14. 90 pokes+4,.:pokes,.:pokes+1,.:return
  15. 100 rem main loop
  16. 110 p=2+(p=2):ifc=1thenp=1
  17. 120 ifmn(1)<1andmn(2)<1then620
  18. 130 ifc=1andmn(1)<1then620
  19. 140 ifmn(p)<1goto110
  20. 150 l(p)=l(p)+1:t$="000000":tl=55-10*l(p):iftl<15thentl=12
  21. 160 t=tl:gosub560:printtab(15)"[154]get ready":printtab(16)"[154]player"p
  22. 170 forz=1to3000:next
  23. 180 rem print play screen
  24. 190 print"[147]":print" [152]"a$a$:print" "a$a$"[145]"
  25. 200 print"   time "spc(5)"matches ..... lives       [157][157][157][157][157][157][152]"tab(7)t"[157] ";
  26. 210 printtab(33);:forz=.to mn(p)-1:print"[211]";:next:print:forz=.to4
  27. 220 print"  [146]\[163][163][163][163]^[163][163][163][163]^[163][163][163][163]^[163][163][163][163]^[163][163][163][163]^[163][163][163][163]^[163][163][163][163]_ "
  28. 230 forx=.to2:print"  [146][161]    [194]    [194]    [194]    [194]    [194]    [194]    [161] ":next:next
  29. 240 print" "a$a$"":m=.:rg=94-l(p)*10:ifrg<5thenrg=5
  30. 250 ll=161+l(p)*4:ifll>193thenll=194
  31. 260 gosub30
  32. 270 rem print 2 matching shapes
  33. 280 a=fnc(7):b=fnc(5):r=52388+a*5+b*160:ifr=52723goto280
  34. 290 forz=.to3:h=z-38*(z>1):poke52723+h,peek(r+h):poke55795+h,peek(r+3072+h):next
  35. 300 rem play sequence
  36. 310 pokev,164:pokev+2,164:pokev+1,138:pokev+3,138:pokev+21,3:x=3:y=2:ti$=t$
  37. 320 poke53280,14:gosub80:poke53280,11:rem joystick routine
  38. 330 j=peek(56320)and15:if(peek(56320)and16)=.goto440
  39. 340 u=((jand4)=.)-((jand8)=.)
  40. 350 h=((jand1)=.)-((jand2)=.):t=tl-val(ti$):ift<.thent=.
  41. 360 print"[152]"tab(7)t"[157] ":ift=.goto490
  42. 365 getzq$:ifzq$="q"thengosub4000
  43. 370 ifu=.thenifh=.goto330
  44. 380 x=x+u:y=y+h:ifx<.orx>6thenx=-6*(x>6)
  45. 390 ify<.ory>4theny=-4*(y>4)
  46. 400 pokev+1,74+y*32:pokev+21,2:ifx<6thenpokev+16,.:pokev,44+x*40:goto420
  47. 410 pokev+16,1:pokev,28
  48. 420 poke v+21,3:goto330
  49. 430 rem fire button pressed
  50. 440 ifx<>aory<>bthengosub70:goto330
  51. 450 t$=ti$:gosub80
  52. 460 m=m+1:print""tab(20+m)"[218]":forz=.to2000
  53. 470 next:pokev+21,.:ifm=5goto520
  54. 480 goto 260
  55. 490 pokev+21,.:gosub70:gosub70:gosub70
  56. 500 print""tab(32+mn(p))" ":mn(p)=mn(p)-1:gosub560:l(p)=l(p)-1:goto530
  57. 510 rem print bonus window
  58. 520 gosub 560
  59. 530 s(p)=s(p)+m*60+t*5:printtab(12)"[154]bonus score:"t*5:print
  60. 540 printtab(12)"total score:"s(p):forz=1to4500:next:goto110
  61. 550 rem print window sub.
  62. 560 print"":printtab(10)"[154][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201][152][146][187]":forz=1to7
  63. 570 printtab(10)"[154][194]                  [194][152][146][161]":next
  64. 580 printtab(10)"[154][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][203][152][146][161]"
  65. 590 printtab(10)"[154][152][146][188][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146][190]"
  66. 600 print"[145][145][145][145][145][145][145][145]"tab(15)"[158] level"l(p)"[157] ":return
  67. 610 rem print standings
  68. 620 print"[147]":ifc=2then629
  69. 622 sys36864,s(1),7,136,9
  70. 624 geta$:ifa$="0"then670
  71. 626 open15,8,15,"s0:"+ff$:close15:sys36870,ff$
  72. 628 poke214,20:print:goto670
  73. 629 gosub 730:printtab(15)"[158][164][164][164][164][164][164][164][164][164][164][164]":printtab(15)" standings "
  74. 630 printtab(6)"[152][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]":forp=1toc
  75. 640 printtab(6)"player"p"[157]:  level reached -[153]"l(p)+1
  76. 650 printtab(17)"total score -[153]"s(p):next
  77. 660 printtab(6)"[152][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]":goto672
  78. 670 print
  79. 671 printtab(11)"[145]e [154]erase high scores
  80. 672 [153][163]11)"p contplay again
  81. 674 printtab(11)"q [154]quit the game[145]"
  82. 680 gett$:ift$<>"p"andt$<>"e"andt$<>"q"then680
  83. 690 ift$="p"thenrun13
  84. 700 ift$="q"then3050
  85. 702 ifc=2then680
  86. 705 ift$="e"thensys36873:open15,8,15,"s0:"+ff$:close15:sys36870,ff$:run13
  87. 720 rem title
  88. 730 print"[154]"tab(6)"[213][195][201]"spc(12)"[213][195][201]"
  89. 740 printtab(6)"[194]"spc(8)"[194]     [194]":printtab(6)"[171][195] [213][195][174][213][195][174][194][213][195][201]  [171][195] [201] [213][213][195][201][213][195][201]"
  90. 750 printtab(6)"[194]  [194] [194][194] [194][194][171][195][189]  [194]  [194] [194][171][195][189][202][195][201]"
  91. 760 printtab(6)"[202][195][203][202][195][202][202][195][194][202][202][195][203]  [202][195][203][202][195][194][202][195][203][202][195][203]"
  92. 770 printtab(14)"[194]"spc(11)"[194]":printtab(12)"[202][195][203]"spc(9)"[202][195][203]":return
  93. 780 rem set up
  94. 790 dv=peek(186):ifdv<8thendv=8
  95. 792 print"[147]"
  96. 795 def fn c(q)=int(q*rnd(1)):z=rnd(-ti):v=53248:s=54272
  97. 800 poke88,.:poke89,232:poke90,.:poke91,216:poke781,9:poke782,1:poke56333,127
  98. 810 poke1,51:sys41964:poke1,55:poke56333,129:poke56578,peek(56578)or3
  99. 820 poke56576,peek(56576)and252:poke53272,(peek(53272)and63)or48:poke648,204
  100. 830 poke53272,(peek(53272)and240)or8:print"[147]":poke53280,.:poke53281,.
  101. 840 rem sprites
  102. 850 l=51200:fora=ltol+46 step3:pokea,128:pokea+1,0:pokea+2,16:next
  103. 860 pokel,255:pokel+1,255:pokel+2,240:pokel+45,255:pokel+46,255:pokel+47,240
  104. 870 fora=l+48tol+62:pokea,.:next:forb=l+64tol+127:pokeb,255:next:poke53240,32
  105. 880 poke53241,32:poke53242,33:pokev+40,1:pokev+41,.:pokev+4,172:pokev+5,144
  106. 890 pokev+29,3:pokev+23,3:pokev+21,0
  107. 900 rem custom characters
  108. 910 forx=224to231:ready:poke57344+x,y:next:forx=240to255:ready:poke57344+x,y
  109. 920 next:a$="         ":a$=a$+a$+" ":rg=106:ll=156:forz=stos+23:pokez,.:next
  110. 930 rem character data
  111. 940 data 255,240,240,240,240,240,240,240,255,24,24,24,24,24,24,24,255,15,15,15
  112. 950 data 15,15,15,15
  113. 960 rem title screen
  114. 970 gosub60000:gosub730:printtab(6)"[169][164] [164][223]":printtab(6)"     "
  115. 980 printtab(6)"  ]  [146]":printtab(6)"[223] = [146][169]"
  116. 990 poke214,9:print:printtab(20)"1 [159]one player
  117. 992 [153][163]20)"2 opentwo players
  118. 994 printtab(20)"3 [159]instructions
  119. 996 [153][163]20)"4 openloadstar
  120. 1000 poke198,.:z=.
  121. 1010 get t$:z=1+(z=1)
  122. 1020 poke52671,236+15*z:poke52673,236+15*z:foru=1to99:next:ift$=""goto1010
  123. 1030 c=val(t$):ifc<1orc>4then1000
  124. 1035 ifc=3thengosub2000:poke53269,0:print"[147]":goto970
  125. 1037 ifc=4thengosub3000:goto1000
  126. 1040 p=2:s(1)=.:s(2)=.:mn(1)=3:mn(2)=3:l(1)=.:l(2)=.:print"[147]":goto 110
  127. 2000 print"[147][129]          e a g l e    e y e s"
  128. 2010 print"[159] plug a joystick in port #2 and choose
  129. 2020 [153]" whether you want to play the one-
  130. 2030 print" player or two-player game.
  131. 2040 [153]" when all thirty-five shapes have been
  132. 2050 print" drawn, use the joystick to move one of
  133. 2060 [153]" the white boxes in the center to the
  134. 2070 print" shape that exactly matches the shape
  135. 2080 [153]" in the other white box in the center.
  136. 2090 print" then press the firebutton.  you must
  137. 2100 [153]" do this before the clock gets to zero.
  138. 2110 print" you must make five matches to move to
  139. 2120 [153]" the next level.  if you don't, you
  140. 2130 print" lose a heart.  you begin the game with
  141. 2140 [153]" three hearts.  each level gives you
  142. 2150 print" less time than the last and the shapes
  143. 2160 [153]" are more alike.  press q at any time
  144. 2170 print" to quit early.  good luck!!!
  145. 2180 [153]"cont    press any keycont to return to menu";:[151]198,0
  146. 2190 [161]k$:[139]k$[178]""[167]2190
  147. 2200 [142]
  148. 3000 [153][163]22)"ondefyou sure? (ydef/nverify)"
  149. 3010 [161]k$:[139]k$[179][177]"y"[175]k$[179][177]"n"[167]3010
  150. 3020 [139]k$[178]"y"[167]3050
  151. 3030 [153][163]22)"onopenloadstar       "
  152. 3040 [142]
  153. 3050 [153]"load":[159]15,8,15,"r0:hello connect=hello connect":[132]15,er%:[160]15
  154. 3060 [151]56576,([194](56576)[175]252)[176]3